SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
  
CREATE procedure [dbo].[SP_TTPROC_INTE_I71]                
/*---------------------------------------------------------*/                
/*---Empresa              : OFISIS S.A.                  --*/                
/*---Cliente              : OFISIS S.A.                  --*/                
/*---Sistema              : Interfase                    --*/                
/*---M"dulo               : Empresa                      --*/                
/*---Programa             : Modificaci¸n Letras (Clientes)--*/                
/*---Script               : ttproc_i.sql                 --*/                
/*---Nombre SP            : SP_TTPROC_INTE_I71           --*/                
/*---Desarrollado por     : Javier Flores A.             --*/                
/*---Fecha Creaci"n       : 10/05/2001                   --*/                
/*---Base Datos           : Microsoft            --*/                
/*---Versi"n              : 7.0                          --*/                
/*---Invoca a SP          :                              --*/                
/*---------------------------------------------------------*/                
/*-------------------------------------------------------*/              
/*---Modificado 1 por     : Maribel Julca Rodriguez      --*/              
/*---Fecha Modificaci©n   : 20/04/2005                   --*/               
/*---Detalle Modificaci©n : ingreso de los campos CO_USUA_CREA Y CO_USUA_MODI--*/              
/*-------------------------------------------------------*/              
/*-------------------------------------------------------*/              
/*---Modificado 2 por     : Cambio Estado Fif Documentos --*/              
/*---Fecha Modificaci©n   : 31/08/2005                   --*/               
/*---Detalle Modificaci©n : Jalar toda las Cuentas x Cobrar --*/              
/*-------------------------------------------------------*/              
/*---------------------------------------------------------*/                
/*---Comentarios                                         --*/                
/*---                                                    --*/                
/*---                                                    --*/                
/*---------------------------------------------------------*/                
/*---------------------------------------------------------*/                
/*---Drop Proc SP_TTPROC_INTE_I71                        --*/                
/*--- Grant Execute on SP_TTPROC_INTE_I71 to public           --*/                 
/*---set nocount On --*/                
/*---SP_TTPROC_INTE_I71 '01','OFISIS', '001', '02400028', Null, 2006, 6, '2006-07-31', '02400028', 'S' --*/        
           
/*--- '03/31/1999', 'N', 1, 0, 0, NULL , NULL            --*/                
/*---------------------------------------------------------*/                
--exec sp_ttproc_inte_i71 '01', 'ofisis', '001', '01500481', '', '2006', '12', '2006/12/31', '01500481', 'N'      
      
@ISCO_EMPR  TD_VC_002,    /* Codigo de la Empresa */                
@ISCO_USUA_MODI   TD_VC_008,            
@ISPA_0001     TD_VC_020,  /* Codigos de prov,bnco,caja,etc.. */                
@ISPA_0002      TD_VC_020,  /* Numero cnta(Caso Banco u otros)  */                
@ISPA_0003      TD_VC_020,                  
@INPA_ANNO     INTEGER, /* Parametro AÏo  */                
@INPA_MESE     INTEGER, /* Parametro Mes  */                
@IDPA_FECH     TD_DT_001, /* Parametro Fecha  */                
@ISNU_ASTO  TD_VC_020,                
@ISST_INTE  TD_VC_001            
 As            
Declare                
                
/* Descripci=n TDTIPO_OPER */                
@CSCO_TIPO_OPER TD_VC_003, /* C"digo de Operaci"n del M"dulo de Finanzas */                
@CNNU_CORR       TD_IN_001, /* Correlativo de Detalle de la Operaci"n de Finanzas */                
@CNNU_DETA       TD_IN_001, /* Indicador si la Tabla de Finanzas tiene 2do. detalle */                
@CSCO_OPRC_CNTB TD_VC_003, /* C"digo de Operaci"n o Libro Contable */         
@CNID_ASTO       TD_IN_001, /* Identificador de Asiento,una Operac"n de Finanzas puede tener varios asientos */         
@CSCO_CNTA       TD_VC_020, /* C"digo de Cuenta Contable, debe existir en el m"dulo contable */                
@CSIN_CNTA_MONE TD_VC_001_SINO, /* Indicador si la cuenta viene de otra tabla, como Ctas.Ctes, Centro de Costo */                
   
@CSCO_MONE_CNTA TD_VC_003, /* C"digo de Moneda de la Cuenta */                
@CSTI_AUXI_CNTA TD_VC_001, /* Tipo de Auxiliar de la Cuenta Contable, Valido para la interfase */                
@CSTI_DOCU_CNTA TD_VC_003, /* Tipo o C"digo del Documento, Para la interfase so            
lo indica si lleva o no, Vale el que viene */                 
@CSTI_DOCU_REFE TD_VC_001_SINO, /* Indicador si lleva documento de referencia 'S' Si, 'N' no */                
@CSTI_MOVI       TD_VC_003, /* Tipo de Operaci"n Contable 'CAR' Cargo, 'ABO' Abono */                
@CNIM_INTE_0001 TD_IN_001, /* Importe 1, el monto del registro contable se puede armar */                
@CSOP_ARIT_0001 TD_VC_001, /* Operaci"n Aritmetica de 'S' Suma o 'R' Resta */                
@CNIM_INTE_0002 TD_IN_001, /* Importe 2, el monto del registro contable se puede armar */                
@CSOP_ARIT_0002 TD_VC_001, /* Operaci"n Aritmetica de 'S' Suma o 'R' Resta */                
@CNIM_INTE_0003 TD_IN_001, /* Importe 3, el monto del registro contable se puede armar */                
@CSDE_GLOS_INTE TD_VC_100, /* Glosa especial que prevalece sobre las primeras observaciones al documento */                
                
@CSCO_MONE_MOVI TD_VC_003, /* Moneda en la que se genero la operaci"n de Finanzas */                
@CNFA_TIPO_CAMB TD_NU_016_004,/* Factor de Cambio de la Moneda utilizada en la operaci"n de Finanzas */                
@CSCO_AUXI_CABE TD_VC_020, /* C"digo de Auxiliar, es decir del Provvedor, Cliente que genero la operaci"n de Finanzas */         
          
@CSTI_DOCU_CABE TD_VC_003, /* Tipo de Documento de la operaci"n de Finanzas */                
@CSNU_DOCU_CABE TD_VC_020, /* Nomero de Documento de la operaci"n de Finanzas */                
@CDFE_EMIS_CABE TD_DT_001, /* Fecha de Emisi"n del Documento de la operaci"n de Finanzas */                
@CSTI_DORE_CABE TD_VC_003, /* Tipo de Documento de Referencia de la operaci"n de Finanzas */                
@CSNU_DORE_CABE TD_VC_020, /* Nomero de Documento de Referencia de la operaci"n de Finanzas */                
@CNIM_CABE_0001 TD_NU_015_006,  /* Importe 1, Ejm. Importe Bruto. */                
@CNIM_CABE_0002 TD_NU_015_006,  /* Importe 2, Ejm. Gastos Financieros */                
@CNIM_CABE_0003 TD_NU_015_006,  /* Importe 3, Ejm. Mora */                
@CNIM_CABE_0004 TD_NU_015_006,  /* Importe 4, Ejm. Flete */                
@CNIM_CABE_0005 TD_NU_015_006,  /* Importe 5, Ejm. Descuento */                
@CNIM_CABE_0006 TD_NU_015_006,  /* Importe 6, Ejm. Impuesto 1 */                
@CNIM_CABE_0007 TD_NU_015_006,  /* Importe 7, Ejm. Impuesto 2 */                
@CNIM_CABE_0008 TD_NU_015_006,  /* Importe 8, Ejm. Impuesto 3 */                
@CNIM_CABE_0009 TD_NU_015_006,  /* Importe 9, Ejm. Importe Total */                
@CNIM_CABE_0010 TD_NU_015_006,  /* Importe para futuro uso */                
@CNIM_CABE_0011 TD_NU_015_006,  /* Importe para futuro uso */                
@CNIM_CABE_0012 TD_NU_015_006,  /* Importe para futuro uso */                
@CNIM_CABE_0013 TD_NU_015_006,  /* Importe para futuro uso */                
@CNIM_CABE_0014 TD_NU_015_006,  /* Importe para futuro uso */                
@CNIM_CABE_0015 TD_NU_015_006,  /* Importe para futuro uso */                
@CSDE_GLOS_CABE TD_VC_100, /* Primera observacion de la operaci"n de Finanzas, solo se usa cuando DE_GLOS_INTE = null */         
          
@CNIM_MVTO_ORIG TD_NU_016_004, /* Importe en moneda origen, soles o d"lares segon sea el caso */                
/* Declaro variables para el cursor de la tabla TDDISP_CCOS - DETALLE */                
                
@CSCO_AUXI_DETA TD_VC_020, /* C"digo de Auxiliar, Ejm: Centro de Costo */                
@CNIM_DETA_0001 TD_NU_015_006,  /* Importe 1, Ejm. Importe Distribuido */                
@CNIM_DETA_0002 TD_NU_015_006,  /* Importe para futuro uso */                
@CNIM_DETA_0003 TD_NU_015_006,  /* Importe para futuro uso */                
@CNIM_DETA_0004 TD_NU_015_006,  /* Importe para futuro uso */                
@CNIM_DETA_0005 TD_NU_015_006,  /* Importe para futuro uso */                
@CNIM_DETA_0006 TD_NU_015_006,  /* Importe para futuro uso */                
@CNIM_DETA_0007 TD_NU_015_006,  /* Importe para futuro uso */                
@CNIM_DETA_0008 TD_NU_015_006,  /* Importe para futuro uso */                
@CNIM_DETA_0009 TD_NU_015_006,  /* Importe para futuro uso */                
@CNIM_DETA_0010 TD_NU_015_006,  /* Importe para futuro uso */                
@CNIM_DETA_0011 TD_NU_015_006,  /* Importe para futuro uso */                
@CNIM_DETA_0012 TD_NU_015_006,  /* Importe para futuro uso */                
@CNIM_DETA_0013 TD_NU_015_006,  /* Importe para futuro uso */                
@CNIM_DETA_0014 TD_NU_015_006,  /* Importe para futuro uso */                
@CNIM_DETA_0015 TD_NU_015_006,  /* Importe para futuro uso */                
                
/* Variables de Trabajo   */                
                
@VSVA_QUIE       TD_VC_050, /* Quiebre del Nomero de Asiento Contable */                
@VNSE_ASTO      TD_IN_001,  /* Secuencial de registros en un Asiento */                
@VNIM_VARI_0001 TD_NU_015_006,  /* Valor de la Variable 1, para armar el Importe */                
@VNIM_VARI_0002 TD_NU_015_006,  /* Valor de la Variable 2, para armar el Importe */                
@VNIM_VARI_0003 TD_NU_015_006,  /* Valor de la Variable 3, para armar el Importe */                
@VNNU_FETC_0001   TD_IN_001,   /* Status del 1er. cursor */                
@VNNU_FETC_0002   TD_IN_001,   /* Status del 2do. cursor */                
                
/* Variables de la tabla de interfase contable TIMVTO_CNTB */                
                
@VNNU_ANNO  TD_IN_001, /* Nomero de A?o, se obtiene de la fecha de emisi"n de la operaci"n de Finanzas */                
@VNNU_MESE  TD_IN_001, /* Nomero de Mes, se obtiene de la fecha de emisi"n de la operaci"n de Finanzas */                
@VSNU_ASTO  TD_VC_010, /* Nomero Asiento Generado, secuencial por identificador de interfase */                
@VNNU_SECU  TD_IN_001,  /* Nomero secuencial de cada registro de un asiento */                
@VDFE_ASTO_CNTB TD_DT_001, /* Fecha del Asiento, se obtiene de la fecha de emisi"n de la operaci"n de Finanzas */                
   
@VSCO_CNTA_EMPR TD_VC_020, /* C"digo de la Cuenta Contable a nivel An~litico */                
@VSTI_AUXI_EMPR TD_VC_001, /* Tipo de Auxiliar Contable Ejm.'CAR' Clientes, 'P' Proveedor , etc. */                
@VSCO_AUXI_EMPR TD_VC_020, /* C"digo del Auxiliar Contable, Ejm. C"digo del Proveedor */                 
@VSCO_DOCU  TD_VC_003, /* C"digo o Tipo de Documento, Ejm. FAC Factura, BOL Boleta */                
@VSNU_DOCU  TD_VC_020, /* Nomero de Documento */                
@VDFE_DOCU  TD_DT_001, /* Fecha de Emisi"n del Documento */                
                
@VSTI_CAMB  TD_VC_003,  /* Tipo de Cambio 'P' Pactado, 'V' Ventas, 'CAR' Compra */                
@VSCO_MONE  TD_VC_003, /* C"digo de Moneda, @VSCO_MONE_DEFA Soles, @VSCO_MONE_EXTR D"lares */                 
@VNFA_CAMB  TD_NU_016_004,/* Factor de Cambio, SOL = 1.000, @VSCO_MONE_EXTR lo que indica el documento */                
@VSTI_OPER  TD_VC_003, /* Tipo de Operaci"n 'CAR' Cargo, 'ABO' Abono */                
@VSDE_GLOS  TD_VC_100, /* Glosa del registro contable */                
@VSCO_DOCU_REFE TD_VC_003, /* C"digo o Tipo de Documento Contable de Referencia, Opcional*/                
@VSNU_DOCU_REFE TD_VC_020, /* Nomero de Documento de Referencia, Opcional */                
            
@VNIM_MVTO_CNTB TD_NU_015_006, /* Importe en moneda del sistema por lo general soles */                
@VSNO_GIRA  TD_VC_050, /* Nombre a quien se le gira el cheque, para el caso del chque voucher */                
@CSNO_GIRA  TD_VC_050, /* Nombre a quien se le gira el cheque, para el caso del chque voucher */                
@VSOR_TRAB  TD_VC_020, /* Orden de Trabajo o Actividad, opcional */                
@VSSI_MVTO_CNTB TD_VC_003, /* Situaci"n del Movimiento 'I' Activo 'E' Eliminado */                
@VSSI_MVTO_DOCU TD_VC_001, /* Situaci"n del Documento 'S' Cancelado 'E' No Cancelado */                
@VSNU_ASTO_ORIG TD_VC_010, /* Nomero de asiento origen para el caso de asientos generados */                
@VSST_OTRS  TD_VC_020, /* Para usos futuros */                
@VSCO_USUA  TD_VC_008, /* C"digo de usuario que genera el registro */                
@VDFE_SIST  TD_DT_001, /* Fecha y hora en la que se genera el registro */                
                
@VSCO_CNTA_DETA   TD_VC_020, /* C"digo de la Cuenta Contable TABLA DE DISTRIBUCION */                
@VNFC_ASTO  TD_IN_001,  /* INDICADOR DE CERO DE SECUENCIAL DE ASIENTO */                
@CSCO_CLIE        TD_VC_020,                
@CSCO_UNID_CNTB   TD_VC_003,                 
@VSST_AUXI_EMPR TD_VC_001,                
@VDFE_VENC        TD_DT_001,                
@CDFE_VENC_CABE   TD_DT_001,                
@VSST_SIGN        TD_VC_001,                
@VNNU_REGI        TD_IN_001,                
@VSST_FLAG        TD_VC_001,                
@CSCO_BANC        TD_VC_003,                
@CSCO_MONE_DETA   TD_VC_003,                
@CSNU_CNTA_BANC   TD_VC_020,                
@CSAA_BNCO        TD_VC_004,                 
@CSMM_BNCO        TD_VC_002,                  
@CSTI_DOPR_DETA   TD_VC_003,                
@CSNU_COMP_BANC   TD_VC_008,                
@CDFE_DOCU_DETA   TD_DT_001,                
@CSCO_CNTA_EMPR   TD_VC_020,                
@VSNU_MESE        TD_VC_002,                
@CSTI_ENTI        TD_VC_001,                
@VDFE_EMIS        TD_DT_001,             
@VSCO_MONE_MOVI   TD_VC_003,                
@CSTI_DOCU        TD_VC_003,                 
@CSNU_LETR_CLIE   TD_VC_020,                
@CSNU_CORR_MODI   TD_VC_008,                
@VSCO_MONE_CNTA   TD_VC_003,                
@VSTI_DOCU_CNTB   TD_VC_001,                
@VSCO_BANC        TD_VC_003,                
@VSNU_CNTA_BANC   TD_VC_020,                
@VSCO_TIPO_DOCU   TD_VC_003,                
@VSNU_DOCU_BANC   TD_VC_020,                
@CSCO_TIPO_DOCU   TD_VC_003,                
@VSCO_UNID_CNTB   TD_VC_003,                
@VNNU_ULTI_ASTO   TD_IN_001,                
@VSNU_CORR_VENT   TD_VC_010,                
@VSNU_ASTO_0002   TD_VC_010,                
@VNNU_CNTB_EMPR   TD_IN_001,                
@VSCO_MONE_DEFA   TD_VC_003,                
@VSCO_MONE_EXTR   TD_VC_003,            
@OSTI_DOCU        TD_VC_003            
            
                
                
/* Inicializo variables de trabajo e insercci"n */                
Select @VNIM_VARI_0001 = 0                
Select @VNIM_VARI_0002 = 0                
Select @VNIM_VARI_0003 = 0                
Select @VNNU_ANNO = 0                
Select @VNNU_MESE = 0                
Select @VSNU_ASTO = NULL                
Select @VDFE_ASTO_CNTB = NULL                
Select @VSCO_CNTA_EMPR = NULL                
Select @VSTI_AUXI_EMPR = NULL                
Select @VSCO_AUXI_EMPR = NULL                
Select @VSCO_DOCU = NULL                
Select @VSNU_DOCU = NULL                
Select @VDFE_DOCU = NULL                
Select @VSTI_CAMB = NULL                
Select @VSCO_MONE = NULL                
Select @VNFA_CAMB = 0                
Select @VSTI_OPER = NULL                
Select @CNIM_MVTO_ORIG = 0                
Select @VNIM_MVTO_CNTB = 0                
Select @VSDE_GLOS = NULL                
Select @VSCO_DOCU_REFE = NULL                
Select @VSNU_DOCU_REFE = NULL                
Select @VSNO_GIRA = NULL                
Select @VSOR_TRAB = NULL                
Select @VSSI_MVTO_CNTB = NULL                
Select @VSSI_MVTO_DOCU = NULL                
Select @VSNU_ASTO_ORIG = NULL                
Select @VSST_OTRS = NULL                
Select @VSCO_USUA = NULL                
Select @VDFE_SIST = NULL                
Select @VNNU_CNTB_EMPR = 1                
                
Declare  CU_TTPROC_INTE_I71_1 Cursor                
For                
Select T2.CO_TIPO_OPER, T2.NU_CORR, T2.NU_DETA, T2.CO_OPRC_CNTB, T2.NU_ASTO,                
T2.CO_CNTA_EMPR, T2.IN_CNTA_MONE, T2.CO_MONE, T2.TI_AUXI_EMPR, T2.TI_DOCU, T2.TI_DOCU_REFE,                
T2.TI_MOVI, isnull(T2.IM_0001,0), T2.OP_ARIT_0001, isnull(T2.IM_0002,0), T2.OP_ARIT_0002,                
isnull(T2.IM_0003,0), T2.DE_GLOS, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE, T1.FE_MODI , T1.NU_CORR_MODI,                
T1.FA_TIPO_CAMB, T1.CO_UNID_CONC, t1.CO_CLIE, t1.DE_OBSE          
From  TDMODI_DOCU T1, TDTIPO_OPER T2                
Where T1.CO_EMPR =  @ISCO_EMPR  And                
      T1.CO_UNID_CONC = @ISPA_0001 And                
      T1.NU_CORR_MODI = @ISPA_0002 And                
      T1.FE_MODI = @IDPA_FECH And                
      T1.CO_EMPR = T2.CO_EMPR And           
      T1.CO_TIPO_OPER = T2.CO_TIPO_OPER                      
Order By T2.CO_TIPO_OPER, T2.CO_OPRC_CNTB, T1.CO_TIPO_DOCU, T1.NU_DOCU_CLIE, T2.NU_CORR                
                
/* Abre Cursor de Interfase - Cabecera */                
Open CU_TTPROC_INTE_I71_1                
Fetch  CU_TTPROC_INTE_I71_1 Into                
@CSCO_TIPO_OPER, @CNNU_CORR, @CNNU_DETA, @CSCO_OPRC_CNTB, @CNID_ASTO,                
@CSCO_CNTA, @CSIN_CNTA_MONE, @CSCO_MONE_CNTA, @CSTI_AUXI_CNTA, @CSTI_DOCU_CNTA, @CSTI_DOCU_REFE,                
@CSTI_MOVI, @CNIM_INTE_0001, @CSOP_ARIT_0001, @CNIM_INTE_0002, @CSOP_ARIT_0002, @CNIM_INTE_0003,                
@CSDE_GLOS_INTE, @CSTI_DOCU, @CSNU_LETR_CLIE, @CDFE_EMIS_CABE, @CSNU_CORR_MODI, @CNFA_TIPO_CAMB,                
@CSCO_UNID_CNTB, @CSCO_CLIE, @CSDE_GLOS_CABE           
                
Select @VNNU_FETC_0001 = @@FETCH_STATUS                
                
Select @VSVA_QUIE = RTRIM(@CSCO_TIPO_OPER) + CONVERT(VARCHAR(2), @CNID_ASTO)                
                
Select @VNNU_SECU = 0                
                
Select @VSCO_MONE_DEFA = CO_MONE_DEFA,                 
       @VSCO_MONE_EXTR = CO_MONE_EXTR                
From   TMPARA_TESO                
Where  CO_EMPR = @ISCO_EMPR                
                
While (@VNNU_FETC_0001 = 0)                
 Begin                
 If (@VNNU_FETC_0001  < 0)                
 Begin                
  --RAISERROR 20001 "FIN DE ARCHIVO"                
  CLOSE CU_TTPROC_INTE_I03_1                
  DEALLOCATE CU_TTPROC_INTE_I03_1                
  RETURN                
 End                
             
 /*  Quiebre para el secuencial del nmero de asiento  */                 
 /*  Asigna Nmero aOo   */                
 SELECT @VNNU_ANNO = @INPA_ANNO                
             
 /*  Asigna Nmero de mes   */                
 SELECT @VNNU_MESE = @INPA_MESE                
             
 /*  Asigna Fecha del Asiento   */                
 SELECT @VDFE_ASTO_CNTB = @CDFE_EMIS_CABE              
              
             
 /*  Asigna Cuenta Contable   */                
 Select @VSCO_CNTA_EMPR = @CSCO_CNTA                
             
 /* Si la cuenta es pasada por otra interfase */                
             
 If @CNNU_DETA = 1                
 Begin                    
  Select @VSCO_MONE_CNTA = CO_MONE,                 
    @VSTI_AUXI_EMPR = ST_AUXI_EMPR,                  
    @VSTI_DOCU_CNTB = ST_DOCU_CNTB                 
  From TMPLAN_EMPR                
  Where CO_EMPR = @ISCO_EMPR And                
  CO_CNTA_EMPR = @VSCO_CNTA_EMPR                
            
    Exec SP_TTDOCU_CNTB_Q02 6, @OSTI_DOCU  OUTPUT            
             
  Select @VSCO_AUXI_EMPR = CO_CLIE, @VDFE_EMIS = FE_EMIS, @VDFE_VENC = FE_VENC ,                 
    @VSCO_MONE_MOVI = CO_MONE, @VSCO_UNID_CNTB = CO_UNID_CONC, @CNIM_MVTO_ORIG = (IM_TOTA - IM_PAGA)                
  From   TMDOCC_GENE                
  Where  CO_EMPR = @ISCO_EMPR            
  And  CO_CLIE = @CSCO_CLIE            
  And  CO_TIPO_DOCU = @CSTI_DOCU            
  And    NU_DOCU_CLIE = @CSNU_LETR_CLIE                
            
            
  If @VSTI_AUXI_EMPR = 'S'                 
   Begin                
   Select @VSTI_AUXI_EMPR = 'C'                
   Select @VSCO_AUXI_EMPR = @VSCO_AUXI_EMPR                
   End                
  Else                
  Begin                
   Select @VSTI_AUXI_EMPR = NULL                
   Select @VSCO_AUXI_EMPR = NULL                
  End                
             
  /*  Asigna Tipo de Documento , Csdigo de Documento y Fecha de Documento */                
  IF @VSTI_DOCU_CNTB = 'S'                 
  Begin                 
   Select @VSCO_DOCU = @CSTI_DOCU            
   Select @VSNU_DOCU = @CSNU_LETR_CLIE     
   Select @VDFE_DOCU = @VDFE_EMIS                
   Select @VDFE_VENC = @VDFE_VENC                
  End                
  Else                
  Begin                
   Select @VSCO_DOCU = NULL                
   Select @VSNU_DOCU = NULL                
   Select @VDFE_DOCU = NULL                
   Select @VDFE_VENC = NULL                
  End                
 End                
             
 If @CNNU_DETA = 2                
 Begin                    
  If @VSCO_CNTA_EMPR is not null                 
  Begin                 
   Select @VSCO_MONE_CNTA = CO_MONE, @VSTI_AUXI_EMPR = ST_AUXI_EMPR,                 
            @VSTI_DOCU_CNTB = ST_DOCU_CNTB                
   From   TMPLAN_EMPR                
   Where  CO_EMPR = @ISCO_EMPR And               
   CO_CNTA_EMPR = @VSCO_CNTA_EMPR                
                 
   Select @VSCO_AUXI_EMPR = CO_CLIE , @VDFE_EMIS = FE_EMIS, @VDFE_VENC = FE_VENC,                
        @VSCO_MONE_MOVI = CO_MONE , @VSCO_UNID_CNTB = CO_UNID_CONC, @CNIM_MVTO_ORIG = (IM_TOTA - IM_PAGA)              
   From   TMDOCC_GENE                
   Where  CO_EMPR = @ISCO_EMPR            
   And  CO_CLIE = @CSCO_CLIE            
   And  CO_TIPO_DOCU = @CSTI_DOCU            
   And    NU_DOCU_CLIE = @CSNU_LETR_CLIE                
                             
   If @VSTI_AUXI_EMPR = 'S'                 
   Begin                
    Select @VSTI_AUXI_EMPR = 'C'                
    Select @VSCO_AUXI_EMPR = @VSCO_AUXI_EMPR                
   End                
   Else                
   Begin                
    Select @VSTI_AUXI_EMPR = NULL                
    Select @VSCO_AUXI_EMPR = NULL                
   End                
             
    /*  Asigna Tipo de Documento , Csdigo de Documento y Fecha de Documento */                
   IF @VSTI_DOCU_CNTB = 'S'                 
   Begin                 
    Select @VSCO_DOCU = @CSTI_DOCU            
    Select @VSNU_DOCU = @CSNU_LETR_CLIE                
    Select @VDFE_DOCU = @VDFE_EMIS                
    Select @VDFE_VENC = @VDFE_VENC                
   End                
   Else                
   Begin                
    Select @VSCO_DOCU = NULL                
    Select @VSNU_DOCU = NULL                
    Select @VDFE_DOCU = NULL                
    Select @VDFE_VENC = NULL                
   End                
  End                
  Else                
  Begin                
              
   Select @VSCO_BANC = T1.CO_BANC, @VSNU_CNTA_BANC = T1.NU_CNTA_BANC,                 
        @VSCO_TIPO_DOCU = T2.CO_TIPO_DOCU, @VSNU_DOCU_BANC = T2.NU_DOCU_BANC                
   From   TDPLAN_LDCT T1, TMPLAN_LDCT T2                
   Where  T1.CO_EMPR = @ISCO_EMPR           And    T1.NU_LETR_CLIE = @CSNU_LETR_CLIE                
   AND    T1.CO_EMPR = T2.CO_EMPR                
   AND    T1.CO_BANC = T2.CO_BANC                
   AND    T1.NU_PLAN_LDCT = T2.NU_PLAN_LDCT                
               
   SELECT @VSCO_CNTA_EMPR  = CO_CNTA_EMPR                
   FROM   TMCNTA_BANC                
   WHERE  CO_EMPR = @ISCO_EMPR AND                
   CO_BANC = @VSCO_BANC AND                
   NU_CNTA_BANC = @VSNU_CNTA_BANC                                   
              
   Select @VSCO_MONE_CNTA = CO_MONE, @VSTI_AUXI_EMPR = ST_AUXI_EMPR,                 
            @VSTI_DOCU_CNTB = ST_DOCU_CNTB                 
   From   TMPLAN_EMPR                
   Where  CO_EMPR = @ISCO_EMPR And                
   CO_CNTA_EMPR = @VSCO_CNTA_EMPR                
              
   Select @VSCO_AUXI_EMPR = CO_CLIE, @VDFE_EMIS = FE_EMIS, @VDFE_VENC = FE_VENC,                
        @VSCO_MONE_MOVI = CO_MONE, @VSCO_UNID_CNTB = CO_UNID_CONC              
   From   TMDOCC_GENE                
   Where  CO_EMPR = @ISCO_EMPR            
   And  CO_CLIE = @CSCO_CLIE            
   And  CO_TIPO_DOCU = @CSTI_DOCU            
   And    NU_DOCU_CLIE = @CSNU_LETR_CLIE                
              
   If @VSTI_AUXI_EMPR = 'S'                 
   Begin                
    Select @VSTI_AUXI_EMPR = 'C'                
    Select @VSCO_AUXI_EMPR = @VSCO_AUXI_EMPR                
   End                
   Else                
   Begin                
    Select @VSTI_AUXI_EMPR = NULL                
    Select @VSCO_AUXI_EMPR = NULL                
   End                                   
             
   /*  Asigna Tipo de Documento , Csdigo de Documento y Fecha de Documento */                
   IF @VSTI_DOCU_CNTB = 'S'                 
   Begin                  
    Select @VSCO_DOCU = @VSCO_TIPO_DOCU                
    Select @VSNU_DOCU = @VSNU_DOCU_BANC                
    Select @VDFE_DOCU = @CDFE_EMIS_CABE                
    Select @VDFE_VENC = @CDFE_EMIS_CABE                 
   End                
   Else                
   Begin                
    Select @VSCO_DOCU = NULL                
    Select @VSNU_DOCU = NULL                         
    Select @VDFE_DOCU = NULL                
    Select @VDFE_VENC = NULL                
   End                
  End                
 End                
            
---select @CNNU_DETA, @CSTI_AUXI_CNTA, @VSCO_DOCU, @VSNU_DOCU,  @VSCO_MONE_MOVI, @CNIM_MVTO_ORIG            
             
 /*  Asigna Tipo de Cambio Pactado  */                
 Select @VSTI_CAMB = 'PAC'                
             
 /*  Asigna C=digo de la Moneda */                
 Select @VSCO_MONE = @CSCO_MONE_CNTA                
             
 /*  Asigna Tipo de Movimiento */                
 Select @VSTI_OPER = @CSTI_MOVI                
             
 Select @CNIM_MVTO_ORIG = ROUND(@CNIM_MVTO_ORIG,2)                
             
 /*  Asigna Factor de Cambio  */                
 Select @VNFA_CAMB = @CNFA_TIPO_CAMB                
             
 /*  Asigna Importe del Sistema del Movimiento  */                
 If @VSCO_MONE_MOVI = @VSCO_MONE_DEFA                 
  Select @VNIM_MVTO_CNTB = @CNIM_MVTO_ORIG                
 Else                
  Select @VNIM_MVTO_CNTB = @CNIM_MVTO_ORIG * @VNFA_CAMB                
             
 Select @VNIM_MVTO_CNTB = ROUND(@VNIM_MVTO_CNTB,2)                
             
 /* Solo cuando la moneda es Soles */                
 IF @VSCO_MONE = @VSCO_MONE_DEFA                 
  Select @VNFA_CAMB = 1.000                
             
 /*  Asigna Glosa del Movimiento  */                
 /*Select @VSDE_GLOS = ' '        */
 SELECT @VSDE_GLOS = @CSDE_GLOS_INTE            
 IF IsNull (@CSDE_GLOS_INTE, '') = ''            
   SELECT @VSDE_GLOS = @CSDE_GLOS_CABE        
             
 /*  Asigna Tipo de Documento de Referencia  */                
 Select @VSCO_DOCU_REFE = NULL                
             
 /*  Asigna C=digo de Documento de Referencia  */                
 Select @VSNU_DOCU_REFE = NULL                
             
 /*  Asigna Nombre del que gira el cheque                
 Solo llenar cuando es interfase de Bancos Giro de Cheques  */                
 Select @VSNO_GIRA = NULL                
             
 /*  Asigna Situaci=n Movimiento  */                
 Select @VSSI_MVTO_CNTB = 'APR'                
             
 /*  Asigna Situaci=n del Documento  */                
 Select @VSSI_MVTO_DOCU = 'N'                
             
 /*  Asigna Otros   */                
 SELECT @VSST_OTRS = NULL                
             
 /*  Asigna Ususario de la Operacion   */                
 SELECT @VSCO_USUA = user               
             
 /*  Asigna Usuario de la Operacion   */                
 SELECT @VDFE_SIST = GETDATE()                
             
            
 IF ( (@VSCO_MONE  = @VSCO_MONE_MOVI) OR                 
   (@VSCO_MONE != @VSCO_MONE_MOVI AND @CSIN_CNTA_MONE = 'N')  )     And            
    ( (@CNNU_DETA = 1 ) Or             
  ( @CNNU_DETA = 2  And            
  Exists ( Select CO_CNTA_EMPR             
     From TRTIOP_DCNT             
     Where CO_EMPR = @ISCO_EMPR And            
       CO_TIPO_OPER = @CSCO_TIPO_OPER And            
       TI_DOCU = @VSCO_DOCU And            
       SubSTring (CO_CNTA_EMPR,1,NV_INFO_CNTA) =  SubSTring (@VSCO_CNTA_EMPR,1,NV_INFO_CNTA) And            
       (ST_AUXI_EMPR = 'N' Or ST_AUXI_EMPR = 'S' And @VSTI_AUXI_EMPR = TI_AUXI_EMPR )             
     )            
            
  )            
  )            
 Begin                
            
  If Len(Convert(Varchar(2),@VNNU_MESE)) = 1                
   Select @VSNU_MESE = '0'+ Convert(Varchar(1),@VNNU_MESE)                
  Else                
   Select @VSNU_MESE = Convert(Varchar(2),@VNNU_MESE)                
             
 /*  Incrementa Secuencial dentro de un asiento   */                
  SELECT @VNNU_SECU = @VNNU_SECU + 1                
             
  SELECT @VSNU_ASTO = '0'+SUBSTRING(@VSNU_ASTO,2,10)                
      
  /*INSERT INTO TTINTE_CNDE (CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO,                
  NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR, CO_AUXI_EMPR,                
  TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB, FA_CAMB_DIAR, TI_OPER, IM_MVTO_ORIG,                
  IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE, NU_DOCU_REFE, NO_GIRA, CO_ORDE_SERV, SI_MVTO_CNTB,                
  CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG, ST_OTRS, CO_USUA_CREA, FE_USUA_CREA,CO_USUA_MODI, FE_USUA_MODI, NU_PROC,             
      
  CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER)                
              
  VALUES (@ISCO_EMPR, @VNNU_CNTB_EMPR, @VSCO_UNID_CNTB, @CSCO_OPRC_CNTB, @VNNU_ANNO,                
  @VNNU_MESE, @ISNU_ASTO, @VNNU_SECU, @VDFE_ASTO_CNTB, @VSCO_CNTA_EMPR, @VSTI_AUXI_EMPR, @VSCO_AUXI_EMPR,                
  @VSCO_DOCU, @VSNU_DOCU, @VDFE_DOCU, @VDFE_VENC, @VSTI_CAMB, @VSCO_MONE, @VNFA_CAMB, @CNFA_TIPO_CAMB, @VSTI_OPER,    
@CNIM_MVTO_ORIG,                
  @VNIM_MVTO_CNTB, @CSDE_GLOS_INTE, @VSCO_DOCU_REFE, @VSNU_DOCU_REFE, @VSNO_GIRA, NULL, @VSSI_MVTO_CNTB,                
  NULL, NULL, NULL, @VSST_OTRS,  @ISCO_USUA_MODI, GETDATE(),@ISCO_USUA_MODI, GETDATE() , 0,                
  34, @ISCO_EMPR+@CSNU_CORR_MODI+@CSNU_LETR_CLIE, @CSCO_TIPO_OPER)  */
INSERT INTO TTINTE_CNDE (CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO,                
  NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR, CO_AUXI_EMPR,                
  TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB, FA_CAMB_DIAR, TI_OPER, IM_MVTO_ORIG,                
  IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE, NU_DOCU_REFE, NO_GIRA, CO_ORDE_SERV, SI_MVTO_CNTB,                
  CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG, ST_OTRS, CO_USUA_CREA, FE_USUA_CREA,CO_USUA_MODI, FE_USUA_MODI, NU_PROC,             
      
  CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER)                
              
  VALUES (@ISCO_EMPR, @VNNU_CNTB_EMPR, @VSCO_UNID_CNTB, @CSCO_OPRC_CNTB, @VNNU_ANNO,                
  @VNNU_MESE, @ISNU_ASTO, @VNNU_SECU, @VDFE_ASTO_CNTB, @VSCO_CNTA_EMPR, @VSTI_AUXI_EMPR, @VSCO_AUXI_EMPR,                
  @VSCO_DOCU, @VSNU_DOCU, @VDFE_DOCU, @VDFE_VENC, @VSTI_CAMB, @VSCO_MONE, @VNFA_CAMB, @CNFA_TIPO_CAMB, @VSTI_OPER,    
@CNIM_MVTO_ORIG,                
  @VNIM_MVTO_CNTB, @VSDE_GLOS, @VSCO_DOCU_REFE, @VSNU_DOCU_REFE, @VSNO_GIRA, NULL, @VSSI_MVTO_CNTB,                
  NULL, NULL, NULL, @VSST_OTRS,  @ISCO_USUA_MODI, GETDATE(),@ISCO_USUA_MODI, GETDATE() , 0,                
  34, @ISCO_EMPR+@CSNU_CORR_MODI+@CSNU_LETR_CLIE, @CSCO_TIPO_OPER)                
                
              
  IF (@@ERROR != 0)                
  BEGIN                
   CLOSE CU_TTPROC_INTE_I71_1                
   DEALLOCATE CU_TTPROC_INTE_I71_1                
   RETURN                
  END                
 End                
 Select @VNFC_ASTO = 1                
             
 /* Inicializo variables de trabajo e insercci=n */                
 Select @VNIM_VARI_0001 = 0                
 Select @VNIM_VARI_0002 = 0                
 Select @VNIM_VARI_0003 = 0                
 Select @VNNU_ANNO = 0                
             
 Select @VNNU_MESE = 0                
 Select @VDFE_ASTO_CNTB = NULL                
 Select @VSCO_CNTA_EMPR = NULL                
 Select @VSTI_AUXI_EMPR = NULL                
 Select @VSCO_AUXI_EMPR = NULL                
 Select @VSCO_DOCU = NULL                
 Select @VSNU_DOCU = NULL                
 Select @VDFE_DOCU = NULL                
 Select @VSTI_CAMB = NULL                
 Select @VSCO_MONE = NULL                
 Select @VNFA_CAMB = 0                
 Select @VSTI_OPER = NULL                
 Select @CNIM_MVTO_ORIG = 0                
 Select @VNIM_MVTO_CNTB = 0                
 Select @VSDE_GLOS = NULL                
 Select @VSCO_DOCU_REFE = NULL                
 Select @VSNU_DOCU_REFE = NULL                
 Select @VSNO_GIRA = NULL                
 Select @VSOR_TRAB = NULL                
 Select @VSSI_MVTO_CNTB = NULL                
 Select @VSSI_MVTO_DOCU = NULL                
 Select @VSST_OTRS = NULL                
 Select @VSCO_USUA = NULL                
 Select @VDFE_SIST = NULL                
 Select @CSNO_GIRA = NULL   
 Select @VSNO_GIRA = NULL                 
             
           
          
          
          
          
 Fetch  CU_TTPROC_INTE_I71_1 Into                
 @CSCO_TIPO_OPER, @CNNU_CORR, @CNNU_DETA, @CSCO_OPRC_CNTB, @CNID_ASTO,                
 @CSCO_CNTA, @CSIN_CNTA_MONE, @CSCO_MONE_CNTA, @CSTI_AUXI_CNTA, @CSTI_DOCU_CNTA, @CSTI_DOCU_REFE,                
 @CSTI_MOVI, @CNIM_INTE_0001, @CSOP_ARIT_0001, @CNIM_INTE_0002, @CSOP_ARIT_0002, @CNIM_INTE_0003,                
 @CSDE_GLOS_INTE, @CSTI_DOCU, @CSNU_LETR_CLIE, @CDFE_EMIS_CABE, @CSNU_CORR_MODI, @CNFA_TIPO_CAMB,                
 @CSCO_UNID_CNTB, @CSCO_CLIE, @CSDE_GLOS_CABE          
             
 Select @VNNU_FETC_0001 = @@FETCH_STATUS                
             
 END                
CLOSE CU_TTPROC_INTE_I71_1                
DEALLOCATE CU_TTPROC_INTE_I71_1                
                
            
INSERT INTO TXMVTO_CNTB (CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO,                
 NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR, CO_AUXI_EMPR,                
 TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB, FA_CAMB_DIAR, TI_OPER, IM_MVTO_ORIG,                
 IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE, NU_DOCU_REFE, NO_GIRA, CO_ORDE_SERV, SI_MVTO_CNTB,                
 CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG, ST_OTRS,                
 CO_USUA_CREA, FE_USUA_CREA,CO_USUA_MODI, FE_USUA_MODI, NU_PROC, CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER)                
            
SELECT CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO,                
 NU_MESE, '00000' + RIGHT(NU_ASTO, 5), NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR, CO_AUXI_EMPR,                
 TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB, FA_CAMB_DIAR, TI_OPER, IM_MVTO_ORIG,                
 IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE, NU_DOCU_REFE, NO_GIRA, CO_ORDE_SERV, SI_MVTO_CNTB,                
 CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG, ST_OTRS,                
 CO_USUA_CREA, FE_USUA_CREA,CO_USUA_MODI, FE_USUA_MODI, NU_PROC, CO_TABL_ORIG, CO_CLAV_TAOR, CO_TIPO_OPER                
FROM TTINTE_CNDE                
WHERE CO_EMPR = @ISCO_EMPR                
AND NU_CNTB_EMPR = @VNNU_CNTB_EMPR                
AND CO_UNID_CNTB = @CSCO_UNID_CNTB                
AND CO_OPRC_CNTB = @CSCO_OPRC_CNTB                
AND NU_ANNO = @INPA_ANNO                
AND NU_MESE = @INPA_MESE    AND NU_ASTO = @ISNU_ASTO                
                
RETURN                
                
/********************************* FIN ***********************************/  
GO
